# 单行注释

"""
这是一个多行注释
这是一个多行注释
这是一个多行注释
"""
'''
这也是多行注释
这也是多行注释
这也是多行注释
'''
print("hello world")

print("hello python")

#  定义变量：存储数据 Tom
my_Name = "Tom"
print(my_Name)

#  定义变量，存储数据 黑马程序员
school = "黑马程序员"
print("我的学校" + school + "我的名字" + my_Name)
# 程序顺序执行，先输出 Tom 再输出 我的学校黑马程序员我的名字Tom


"""
数据类型:
整型
浮点型
字符串
布尔型

列表list
元组tuple
集合set
字典dict
"""
num1 = 1
num2 = 1.1
print(type(num1))
print(type(num2))
print(type(school))

bT = True
bF = False
print(type(bT))
print(type(bF))

l = [10, 20, 30]
t = (10, 20, 30)
s = {10, 20, 30}
d = {"name": "Tom", "age": 18}
print(type(l))
print(type(t))
print(type(s))
print(type(d))

"""
格式化输出
age
name
weight
stu_id
"""
age = 18
name = "TOM"
weight = 75.5
stu_id = 1
print("我的年龄是%d岁" % age)
print("我的名字是%s" % name)
print("我的体重是%.2fkg" % weight)  # 保留两位小数,默认是6位
print("我的学号是：%03d" % stu_id)  # 以0补全3位;超出的原样输出
print("我的名字是%s,今年%d岁了,明年%d岁" % (name, age, age + 1))
print("我的名字是%s,今年%d岁了,体重%.2f,学号为:%06d" % (name, age, weight, stu_id))

"""
格式化输出所有形式转字符串
-f格式化字符串
"""
print(f"我的名字是{name},今年{age}岁了,明年{age + 1}岁")

"""
转义字符
\n换行
\t四个空格
"""
print("hello")
print("world")
print("hello\npython")
print("hello\tpython")

"""
print结束符
默认为\n
用转义字符\t
任意结束符
"""
print("默认换行结尾")
print("输出的内容", end="\t")
print("后续的内容")
print("输出的内容", end="...")
print("后续的内容")

"""
输入语法
"""
# input_data = input("请输入您的密码")
# print(f"您输入的密码是{input_data}")
# print(type(input_data))

"""
转换数据类型
"""
# input_num = input("请输入数字")
# print(type(input_num))
# print(type(int(input_num)))
# 1. float() -- 转换成浮点型
num1 = 1
print(float(num1))
print(type(float(num1)))
# 2. str() -- 转换成字符串类型
num2 = 10
print(type(str(num2)))
# 3. tuple() -- 将一个序列转换成元组
list1 = [10, 20, 30]
print(tuple(list1))
print(type(tuple(list1)))
# 4. list() -- 将一个序列转换成列表
t1 = (100, 200, 300)
print(list(t1))
print(type(list(t1)))
# 5. eval() -- 将字符串中的数据转换成Python表达式原本类型
str1 = '10'
str2 = '[1, 2, 3]'
str3 = '(1000, 2000, 3000)'
print(type(eval(str1)))
print(type(eval(str2)))
print(type(eval(str3)))

"""
算数运算符
+加
-减
*乘
/除
//整除
%余数
**次方
"""
print("1+1=%d" % (1 + 1))
print("1-1=%d" % (1 - 1))
print("2*2=%d" % (2 * 2))
print("4/2=%d" % (4 / 2))
print("9" + "%" + "4=%d" % (9 % 4))
print("9//4=%d" % (9 // 4))
print("2**3=%d" % (2 ** 3))
print("(1 + 2 * 3)=%d" % ((1 + 2) * 3))
print("2*3**2=%d" % (2 * 3 ** 2))

"""
多变量赋值
"""
num_data, float_data, str_data = 1, 1.1, "ABC"
print(num_data)
print(float_data)
print(str_data)
numA = numB = 123
print(numA)
print(numB)

"""
复合赋值运算符
"""
a = 2
c = 3
c += a
print(c)
c -= a
print(c)
c *= a
print(c)
c /= a
print(c)
c //= a
print(c)
c %= a
print(c)
c **= a
print(c)

"""
比较运算符
"""
print(1 == 2)
print(1 != 2)
print(1 < 2)
print(1 > 2)
print(1 >= 2)
print(1 <= 2)

"""
逻辑运算符
"""
data_a = 1
data_b = 2
data_c = 3
print((data_a < data_b) and (data_b < data_c))
print((data_a > data_b) and (data_b < data_c))
print((data_a > data_b) or (data_b < data_c))
print(not (data_a > data_b))
